// 将showContent改名为showAdminContent并导出到全局
window.showAdminContent = function(contentType, event) {
    // 检查内容类型是否为管理员列表
    if (contentType === 'adminList') {
        const content = `
            <div class="toolbar-container">
                <div class="button-container">
                    <!-- 添加管理员按钮（注释掉） -->
                    <!-- <button class="btn btn-primary" onclick="window.addAdmin()">-->
                    <!--     <span class="menu-icon">➕</span>添加管理员-->
                    <!-- </button>-->
                </div>
            </div>
            <table class="table" id="adminTable">
                <thead>
                    <tr>
                        <th>ID</th>
                        <th>管理员名</th>
                        <th>密码</th>
                        <th>邮箱</th>
                        <th>手机号</th>
                        <th>创建时间</th>
                        <th>更新时间</th>
                        <!-- <th>操作</th> -->
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td colspan="8" style="text-align: center;">加载中...</td>
                    </tr>
                </tbody>
            </table>
        `;
        
        // 更新页面内容和标题
        document.getElementById('contentBody').innerHTML = content; // 设置内容
        document.getElementById('contentTitle').textContent = '管理员列表'; // 设置标题
        window.loadAdminList(); // 加载管理员列表
    }
};

// 加载管理员列表
window.loadAdminList = function() {
    fetch('AdminListServlet?action=list') // 发送请求获取管理员列表
        .then(response => response.json()) // 解析JSON响应
        .then(admins => {
            console.log('Received admins data:', admins); // 添加调试日志
            const tbody = document.querySelector('#adminTable tbody'); // 获取表格主体
            if (admins.length === 0) { // 如果没有管理员数据
                tbody.innerHTML = '<tr><td colspan="8" style="text-align: center;">没有管理员数据</td></tr>'; // 显示无数据提示
                return; // 结束函数
            }
            
            // 填充管理员数据到表格
            tbody.innerHTML = admins.map(admin => {
                console.log('Processing admin:', admin); // 添加调试日志
                return `
                    <tr>
                        <td>${admin.id || ''}</td>
                        <td>${admin.username || ''}</td>
                        <td>${admin.password || ''}</td>
                        <td>${admin.email || ''}</td>
                        <td>${admin.mobile || ''}</td>
                        <td>${admin.created_at ? formatDate(admin.created_at) : ''}</td>
                        <td>${admin.updated_at ? formatDate(admin.updated_at) : ''}</td>
                        <!-- <td> -->
                        <!--     <div class="btn-group"> -->
                        <!--         <button onclick="editAdmin(${admin.id})" class="btn btn-warning"> -->
                        <!--             <span class="menu-icon">✏️</span>编辑 -->
                        <!--         </button> -->
                        <!--         <button onclick="deleteAdmin(${admin.id})" class="btn btn-danger"> -->
                        <!--             <span class="menu-icon">🗑️</span>删除 -->
                        <!--         </button> -->
                        <!--     </div> -->
                        <!-- </td> -->
                    </tr>
                `;
            }).join(''); // 将所有行连接成一个字符串
        })
        .catch(error => {
            console.error('Error:', error); // 记录错误
            const tbody = document.querySelector('#adminTable tbody'); // 获取表格主体
            tbody.innerHTML = '<tr><td colspan="8" style="text-align: center; color: red;">加载失败</td></tr>'; // 显示加载失败提示
        });
};

// 添加管理员
function addAdmin() {
    const content = `
        <h3>添加管理员</h3>
        <form id="addAdminForm" onsubmit="submitAddAdmin(event)">
            <div class="form-group">
                <label>用户名：</label>
                <input type="text" name="username" required> <!-- 用户名输入框 -->
            </div>
            <div class="form-group">
                <label>密码：</label>
                <input type="password" name="password" required> <!-- 密码输入框 -->
            </div>
            <div class="form-group">
                <label>邮箱：</label>
                <input type="email" name="email" required> <!-- 邮箱输入框 -->
            </div>
            <div class="form-group">
                <label>手机号：</label>
                <input type="text" name="mobile" required> <!-- 手机号输入框 -->
            </div>
            <div class="form-group">
                <label>用户类型：</label>
                <select name="userType"> <!-- 用户类型选择框 -->
                    <option value="0">普通用户</option>
                    <option value="1" selected>管理员</option>
                </select>
            </div>
            <div class="button-group">
                <button type="submit" class="btn btn-primary">保存</button> <!-- 保存按钮 -->
                <button type="button" class="btn btn-secondary" onclick="closeModal()">取消</button> <!-- 取消按钮 -->
            </div>
        </form>
    `;
    openModal(content); // 打开模态框
}

// 编辑管理员
function editAdmin(id) {
    fetch(`AdminListServlet?action=get&id=${id}`) // 获取管理员信息
        .then(response => response.json()) // 解析JSON响应
        .then(admin => {
            const content = `
                <h3>编辑管理员</h3>
                <form id="editAdminForm" onsubmit="submitEditAdmin(event, ${id})">
                    <div class="form-group">
                        <label>用户名：</label>
                        <input type="text" name="username" value="${admin.username}" required> <!-- 用户名输入框 -->
                    </div>
                    <div class="form-group">
                        <label>邮箱：</label>
                        <input type="email" name="email" value="${admin.email}" required> <!-- 邮箱输入框 -->
                    </div>
                    <div class="form-group">
                        <label>手机号：</label>
                        <input type="text" name="mobile" value="${admin.mobile}" required> <!-- 手机号输入框 -->
                    </div>
                    <div class="form-group">
                        <label>用户类型：</label>
                        <select name="userType"> <!-- 用户类型选择框 -->
                            <option value="0">普通用户</option>
                            <option value="1" selected>管理员</option>
                        </select>
                    </div>
                    <div class="button-group">
                        <button type="submit" class="btn btn-primary">保存</button> <!-- 保存按钮 -->
                        <button type="button" class="btn btn-secondary" onclick="closeModal()">取消</button> <!-- 取消按钮 -->
                    </div>
                </form>
            `;
            openModal(content); // 打开模态框
        })
        .catch(error => {
            console.error('Error:', error); // 记录错误
            alert('加载管理员信息失败'); // 提示加载失败
        });
}

// 删除管理员
function deleteAdmin(id) {
    if (confirm('确定要删除这个管理员吗？')) { // 确认删除
        fetch('AdminListServlet', {
            method: 'POST', // 使用POST方法
            headers: {
                'Content-Type': 'application/json', // 设置请求头
            },
            body: JSON.stringify({
                action: 'delete', // 设置请求体
                id: id
            })
        })
        .then(response => response.json()) // 解析JSON响应
        .then(result => {
            if (result.success) { // 如果删除成功
                showContent('adminList'); // 刷新管理员列表
            } else {
                alert('删除失败：' + result.error); // 提示删除失败
            }
        })
        .catch(error => {
            console.error('Error:', error); // 记录错误
            alert('删除失败'); // 提示删除失败
        });
    }
}

// 搜索管理员
function searchAdmins() {
    const searchText = document.getElementById('adminSearchInput').value; // 获取搜索文本
    // 实现搜索逻辑...
}

// 提交添加管理员
function submitAddAdmin(event) {
    event.preventDefault(); // 阻止默认表单提交
    const form = event.target; // 获取表单
    const formData = new FormData(form); // 创建表单数据对象
    
    const data = {
        action: 'add', // 设置操作类型
        username: formData.get('username'), // 获取用户名
        password: formData.get('password'), // 获取密码
        email: formData.get('email'), // 获取邮箱
        mobile: formData.get('mobile'), // 获取手机号
        isAdmin: true // 设置为管理员
    };
    
    fetch('AdminListServlet', {
        method: 'POST', // 使用POST方法
        headers: {
            'Content-Type': 'application/json' // 设置请求头
        },
        body: JSON.stringify(data) // 将数据转换为JSON字符串
    })
    .then(response => response.json()) // 解析JSON响应
    .then(result => {
        if (result.success) { // 如果添加成功
            alert('添加成功！'); // 提示添加成功
            closeModal(); // 关闭模态框
            showContent('adminList'); // 刷新管理员列表
        } else {
            alert('添加失败：' + (result.error || '未知错误')); // 提示添加失败
        }
    })
    .catch(error => {
        console.error('Error:', error); // 记录错误
        alert('系统错误：' + error.message); // 提示系统错误
    });
}

// 提交编辑管理员
function submitEditAdmin(event, id) {
    event.preventDefault(); // 阻止默认表单提交
    const form = event.target; // 获取表单
    const formData = new FormData(form); // 创建表单数据对象
    
    const data = {
        action: 'update', // 设置操作类型
        id: id, // 设置用户ID
        username: formData.get('username'), // 获取用户名
        email: formData.get('email'), // 获取邮箱
        mobile: formData.get('mobile') // 获取手机号
    };
    
    fetch('AdminListServlet', {
        method: 'POST', // 使用POST方法
        headers: {
            'Content-Type': 'application/json' // 设置请求头
        },
        body: JSON.stringify(data) // 将数据转换为JSON字符串
    })
    .then(response => response.json()) // 解析JSON响应
    .then(result => {
        if (result.success) { // 如果更新成功
            alert('更新成功！'); // 提示更新成功
            closeModal(); // 关闭模态框
            showContent('adminList'); // 刷新管理员列表
        } else {
            alert('更新失败：' + (result.error || '未知错误')); // 提示更新失败
        }
    })
    .catch(error => {
        console.error('Error:', error); // 记录错误
        alert('系统错误：' + error.message); // 提示系统错误
    });
}

// 确保所有函数都导出到全局作用域
window.addAdmin = addAdmin; // 导出添加管理员函数
window.editAdmin = editAdmin; // 导出编辑管理员函数
window.deleteAdmin = deleteAdmin; // 导出删除管理员函数
window.submitAddAdmin = submitAddAdmin; // 导出提交添加管理员函数
window.submitEditAdmin = submitEditAdmin; // 导出提交编辑管理员函数
window.searchAdmins = searchAdmins; // 导出搜索管理员函数

// 添加日期格式化函数
function formatDate(dateString) {
    if (!dateString) return ''; // 如果日期字符串为空，返回空字符串
    const date = new Date(dateString); // 创建日期对象
    return date.toLocaleString('zh-CN', { // 格式化日期
        year: 'numeric',
        month: '2-digit',
        day: '2-digit',
        hour: '2-digit',
        minute: '2-digit',
        second: '2-digit'
    });
}

// 导出日期格式化函数到全局
window.formatDate = formatDate; // 导出格式化日期函数